package com.moon.interview.common;

import com.moon.interview.exception.SysErrorCode;

public class ResultUtils {
    /**
     * 成功
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>(0, data, "ok");
    }

    /**
     * 失败
     *
     * @param errorCode  错误码
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> error(SysErrorCode errorCode) {
        return new BaseResponse<>(errorCode);
    }

    /**
     * 失败，带自定义错误信息
     *
     * @param errorCode  错误码
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> error(SysErrorCode errorCode, String message) {
        return new BaseResponse<>(errorCode, message);
    }

    /**
     * 失败
     *
     * @param code
     * @param message
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> error(int code, String message) {
        return new BaseResponse<>(code, null, message);
    }
}
